package com.example.boot.modules.system.dto;

import com.example.starter.webmvc.valid.CreateValid;
import com.example.starter.webmvc.valid.UpdateValid;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 *
 * @author 王令
 * @since 2022-10-23
 */
@Data
@Accessors(chain = true)
public class DeptDto implements Serializable {

    /**
     * 主键
     */
    @NotNull(message = "id不能为空", groups = {UpdateValid.class})
    private Long id;

    /**
     * 组织机构名
     */
    @NotBlank(message = "组织机构名不能为空", groups = {CreateValid.class, UpdateValid.class})
    @Size(max = 32, message = "组织机构名不能超过32位")
    private String name;

    /**
     * 组织机构编码
     */
    @NotBlank(message = "组织机构编码不能为空", groups = {CreateValid.class, UpdateValid.class})
    @Size(max = 32, message = "组织机构编码不能超过32位")
    private String code;

    /**
     * 排序
     */
    private Integer order;

    /**
     * 父级id
     */
    @NotNull(message = "上极项不能为空", groups = {CreateValid.class, UpdateValid.class})
    private Long parentId;

}
